草庐IT

MySQL LIMIT 和 GROUP BY 与 JOIN

全部标签

MySQL Select Distinct with Left Join?

我正在尝试获取没有公司级别注释的company_id的列表。但是,该公司可能有位置级别的注释。company-------------------------company_idnamedeleted1Foo02Bar03Baz0location-----------------------location_idcompany_id617283note-----------------------------------------note_idcompany_idlocation_iddeleted10260//location-levelnote11170//location-le

MySQL LEFT JOIN 计数列Join 3个表

我有3个表,它们是我的数据库的一部分。debates(id'PK',unit_id,starter_pack_id'FK',title)debate_stakeholders(id'PK',starter_pack_id'FK',name)debate_groups(id'PK',debate_id'FK',student_id,stakeholder_id'FK')为此目的,所有辩论共享相同的利益相关者(总共4个利益相关者,所有这些利益相关者都被引用到所有辩论中)。我的预期结果的目的是查询所有辩论,这表明debates.id,debates.title,debate_stakehol

MySQL LEFT JOIN 与 IF

我有这个问题:SELECTr.*,d.rateNameFROMratingsrLEFTJOINrate_datadON(r.rateID=d.rateIDANDd.rateName!='')ORDERBYr.rateTimeDESC这个工作正常。现在我有了第二个数据表。在一个查询中使用IF进行更改,还是进行两个查询并合并结果的唯一方法?我试着向你展示我的意思:SELECTr.*,d.rateNameFROMratingsr(IFr.isOther==0)LEFTJOINrate_datadON(r.rateID=d.rateIDANDd.rateName!='')(ELSEIFr.is

Mysql 在使用多个 JOIN 时返回不正确的 COUNT?

我有3个表:NAMES、REGISTRATIONS和RENEWALS。我正在使用LEFTJOIN连接具有公共(public)ID的3个表。我需要统计每个用户的REGISTRATIONS数量,以及RENEWALS数量。我试过在GROUPBY字段中使用不同的选项,但似乎都不起作用。这是SELECT语句:SELECTnames.name_idAS'NamesID',names.nameASName,count(registrations.date)ASRegistrations,count(renewals.date)ASRenewalsFROMnamesLEFTJOINregistrati

Mysql子查询比join快多了

我有以下查询,它们都返回相同的结果和行数:select*from(selectUNIX_TIMESTAMP(network_time)*1000asepoch_network_datetime,hbrl.business_rule_id,display_advertiser_id,hbrl.campaign_id,truncate(sum(coalesce(hbrl.ad_spend_network,0))/100000.0,2)asdemand_ad_spend_network,sum(coalesce(hbrl.ad_view,0))asdemand_ad_view,sum(coa

具有条件聚合的 MySQL UNION ALL (Full Join)

我有三个表:CREATETABLE`Agreement`(`AID`bigint(20)NOTNULLAUTO_INCREMENT,`FLAGS`bigint(20)NOTNULLDEFAULT'0',PRIMARYKEY(`AID`));CREATETABLE`Assessment`(`ASMID`bigint(20)NOTNULLAUTO_INCREMENT,`AID`bigint(20)NOTNULLDEFAULT'0',`Amount`decimal(19,4)NOTNULLDEFAULT'0.0000',`Description`text,PRIMARYKEY(`ASMID`

mysql - 单表 SELF JOIN 备选方案/除外/相交

我目前正在处理一个查询,该查询根据书的属性从表中搜索书籍。该表包含超过5000万行,结构如下:-----------------------|book_id|attr_id|-----------------------|2005207|35021|-----------------------|2005207|28106|-----------------------|2005207|27173|-----------------------|2005207|35109|-----------------------|2005207|34999|-------------------

mysql - SQL "GROUP BY"和 "INNER JOIN"语句一起

我有两个ANIMAL和NEED表:ANIMALNEEDNameSpeciesBirthdayA_SpeciesTypeKoala1Phascolarctidae02-10-2014PhascolarctidaeVeg.Bear1Ursinae03-10-2016UrsinaeVeg.Koala2Phascolarctidae04-09-2015UrsinaeMeetCattle1Bovidae20.03.2017UrsinaeFishWhale1Cetacea08.05.2010BovidaeVeg.CetaceaFish我要选择下表NameTypeKoala1Veg.Koala2Ve

mysql - 将 SELECT 中的相关子查询重写为 JOIN 语句

我有以下源表:CREATETABLEtest(`step`varchar(1),`cost_time`int,`rank_no`int);INSERTINTOtest(`step`,`cost_time`,`rank_no`)VALUES('a',10,1),('b',20,2),('c',30,3);然后像这样查询:selectmain.step,main.cost_time,main.rank_no,(selectsum(sub.cost_time)fromtestsubwheresub.rank_no结果是预期的:|step|cost_time|rank_no|total_tim

mysql - SQL - OUTER JOIN a UNION-ed 表

我是sql新手。我有三个表,我想UNION前两个表,然后OUTERJOIN第三个表的结果,只选择所需的日期。我已经做了UNION但是我不知道OUTERJOIN会怎么进来。这些是我的表格:TABLE_1|ID|Name|-------------------|1|John||2|Peter|TABLE_2|ID|Name|-------------------|3|Anne||4|May|TABLE_3|ID|Name|Date|--------------------------------|2|Peter|2019-02-13||3|Anne|2019-02-12||4|May|20